package array;

import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Stack;

/**
 * File Name: DelSameElement
 * Date: 2020/3/5 18:19
 * Author: liangling
 * Description 删除给定数组中相同的元素
 */
public class DelSameElement {

    public static void main(String[] args) {
        int[] nums = {1,1,2};
        int len =removeDuplicates(nums);
        System.out.println("原数组长度为："+nums.length);
        System.out.println("新数组的长度为"+len);
    }

    /**
      * @author Ling
      * @Param
      * @Date 2020/3/5 18:21
      * @Description 判断给定数组中是否含相同元素，有则删除，无则保留
      * @return 返回处理之后数组的长度（整个过程不能新建一个数组）
      */

    private static int removeDuplicates(int[] nums) {

        int index = 1;
        int first = nums[0];
        for (int i = 1; i < nums.length; i++) {
           if(nums[i] == first){
               continue;
           }else{
               nums[index++] = nums[i];
               first= nums[i];
           }


        }
        return index++;






//        if(nums==null || nums.length<=0) return 0;
//        int count=1;
//        int tempNum=nums[0];
//        for(int i=1;i<nums.length;i++){
//            if(tempNum==nums[i]){//重复数字，找下一个没出现过的数字
//                continue;
//            }
//            nums[count++]=nums[i];//当前出现了不一样的数字
//            tempNum=nums[i];//继续下一个不一样的数字
//        }
//        return count;






    }

}
